您好,欢迎来到达州工业云! 平台首页 企业驾驶舱 帮助中心 企业登录 企业注册

HI,欢迎使用达州工业云平台!

账号必须大于2位

创新资源平台
服务平台首页>专利库>专利详情

一种喷泉码的编解码方法和装置

  • 申请号:CN201010217444.2 申请公布号: CN101902296B
  • 申请日: 2010-06-23 申请公布日: 2014-07-16
  • 申请(专利权)人: 专利代理机构: 北京派特恩知识产权代理有限公司
  • 分类号:H04L1/00;H04N19/37

专利介绍

本发明公开了一种喷泉码的编解码方法,编码方法包括:将原始数据块按优先级从高到低分为不同的信息层;对每个信息层进行相同码率的预编码,将得到的各个编码层进行级联并送入优先级LT编码器进行LT编码;在编码过程中,根据调整参数动态调整每个编码符号的输入符号集的大小,控制不同优先级数据的不等保护程度。解码方法包括:优先级LT解码器对收到的编码数据包进行解码得到具有不等差错保护功能的输出数据;数据分流器根据层号将输出数据分为各个不同的编码层;将每个编码层分别送入对应的预编码解码器进行预编码解码,恢复出各个信息层。本发明还公开了一种喷泉码的编解码装置。通过本发明,实现了在分层组播环境中高效、可靠的视频传输。
1.一种喷泉码的编码方法,其特征在于,该方法包括:将原始数据块按优先级从高到低的顺序分为不同的信息层;对每个信息层分别独立的进行相同码率的预编码后得到编码层,并将各个编码层进行级联后送入优先级LT编码器;所述优先级LT编码器在LT编码过程中,根据调整参数动态调整每个编码符号的输入符号集的大小,控制不同优先级数据的不等保护程度;其中,所述在LT编码过程中根据调整参数动态调整每个编码符号的输入符号集的大小,控制不同优先级数据的不等保护程度,具体为:根据度分布函数为当前编码符号随机生成一个度d;如果所述当前编码符号的度d<L,则定义随机变量X服从以p为参数的两点分布,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="360"/>并产生一个服从[0,1]均匀分布的随机数r,若r满足0<r<p,则X=0;若不满足,则X=1;其中,L表示所述信息层的层数,αi表示第i层编码层的优先级系数,m"i表示第i层编码层的长度;如果X=0,则确定所述当前编码符号的输入符号集为{1,...,Md},其中ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="301"/>如果X=1,则确定所述当前编码符号的输入符号集为{1,...,n},其中 n = Σ i = 1 L m ′ i ; ]]>如果所述当前编码符号的度数d>L,则确定所述当前编码符号的输入符号集为{1,...,n},其中ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="258"/>从确定的所述输入符号集中随机选取d个不同的输入符号,并对所述d个不同的输入符号进行异或运算,生成一个编码符号。
2.根据权利要求1所述喷泉码的编码方法,其特征在于,所述将各个编码层进行级联后送入优先级LT编码器,具体为:为每个编码层分别设定一个优先级系数α,层号越低的编码层对应的α越大,层号越高的编码层对应的α越小;将所述各个编码层送入数据整合器,按α从大到小的顺序进行重新排序后送入优先级LT编码器。
3.一种喷泉码的编解码方法,其特征在于,该方法包括:将原始数据块按优先级从高到低的顺序分为不同的信息层;对每个信息层分别独立的进行相同码率的预编码后得到编码层,并将各个编码层进行级联后送入优先级LT编码器;所述优先级LT编码器在LT编码过程中,根据调整参数动态调整每个编码符号的输入符号集的大小,控制不同优先级数据的不等保护程度;将收到的编码数据包送入优先级LT解码器进行解码,得到具有不等差错保护功能的输出数据,并将所述输出数据送入数据分流器;所述数据分流器根据层号将所述输出数据分为各个不同的编码层;将每个编码层分别送入对应的预编码解码器,经过预编码解码后,恢复为各个信息层;其中,所述在LT编码过程中根据调整参数动态调整每个编码符号的输入符号集的大小,控制不同优先级数据的不等保护程度,具体为:根据度分布函数为当前编码符号随机生成一个度d;如果所述当前编码符号的度d<L,则定义随机变量X服从以p为参数的两点分布,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="360"/>并产生一个服从[0,1]均匀分布的随机数r,若r满足0<r<p,则X=0;若不满足,则X=1;其中,L表示所述信息层的层数,αi表示第i层编码层的优先级系数,m"i表示第i层编码层的长度;如果X=0,则确定所述当前编码符号的输入符号集为{1,...,Md},其中ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="301"/>如果X=1,则确定所述当前编码符号的输入符号集为{1,...,n},其中 n = Σ i = 1 L m ′ i ; ]]>如果所述当前编码符号的度数d>L,则确定所述当前编码符号的输入符号集为{1,...,n},其中ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="255"/>从确定的所述输入符号集中随机选取d个不同的输入符号,并对所述d个不同的输入符号进行异或运算,生成一个编码符号。
4.根据权利要求3所述喷泉码的编解码方法,其特征在于,所述将各个编码层进行级联后送入优先级LT编码器,具体为:为每个编码层分别设定一个优先级系数α,层号越低的编码层对应的α越大,层号越高的编码层对应的α越小;将所述各个编码层送入数据整合器,按α从大到小的顺序进行重新排序后送入优先级LT编码器。
5.根据权利要求3所述喷泉码的编解码方法,其特征在于,所述优先级LT解码器和预编码解码器采用置信传播(BP)译码算法。
6.一种喷泉码的编码装置,其特征在于,该装置包括:分层模块、预编码编码器和优先级LT编码器,其中,所述分层模块,用于将原始数据块按优先级从高到低的顺序分为不同的信息层;所述预编码编码器,用于对每个信息层分别独立的进行相同码率的预编码后得到编码层,并将各个编码层进行级联后送入优先级LT编码器;所述优先级LT编码器,用于在LT编码过程中,根据调整参数动态调整每个编码符号的输入符号集的大小,控制不同优先级数据的不等保护程度;所述优先级LT编码器进一步用于,根据度分布函数为当前编码符号随机生成一个度d;在所述当前编码符号的度d<L时,定义随机变量X服从以p为参数的两点分布,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="360"/>并产生一个服从[0,1]均匀分布的随机数r,若r满足0<r<p,则X=0;若不满足,则X=1;其中,L表示所述信息层的层数,αi表示第i层编码层的优先级系数,m"i表示第i层编码层的长度;如果X=0,则确定所述当前编码符号的输入符号集为{1,...,Md},其中ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="294"/>如果X=1,则确定所述当前编码符号的输入符号集为{1,...,n},其中ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="256"/>在所述当前编码符号的度数d>L时,确定所述当前编码符号的输入符号集为{1,...,n},其中ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="254"/>从确定的所述输入符号集中随机选取d个不同的输入符号,并对所述d个不同的输入符号进行异或运算,生成一个编码符号。
7.根据权利要求6所述喷泉码的编码装置,其特征在于,该装置进一步包括:数据整合器,相应的,所述预编码编码器进一步用于,为每个编码层分别设定一个优先级系数α,层号越低的编码层对应的α越大,层号越高的编码层对应的α越小;将所述各个编码层送入数据整合器;所述数据整合器,用于对所述编码层按α从大到小的顺序进行重新排序后送入优先级LT编码器。
8.一种喷泉码的编解码装置,其特征在于,该装置包括:分层模块、预编码编码器和优先级LT编码器,其中,所述分层模块,用于将原始数据块按优先级从高到低的顺序分为不同的信息层;所述预编码编码器,用于对每个信息层分别独立的进行相同码率的预编码后得到编码层,并将各个编码层进行级联后送入优先级LT编码器;所述优先级LT编码器,用于在LT编码过程中,根据调整参数动态调整每个编码符号的输入符号集的大小,控制不同优先级数据的不等保护程度;所述优先级LT编码器进一步用于,根据度分布函数为当前编码符号随机生成一个度d;在所述当前编码符号的度d<L时,定义随机变量X服从以p为参数的两点分布,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="363"/>并产生一个服从[0,1]均匀分布的随机数r,若r满足0<r<p,则X=0;若不满足,则X=1;其中,L表示所述信息层的层数,αi表示第i层编码层的优先级系数,m"i表示第i层编码层的长度;如果X=0,则确定所述当前编码符号的输入符号集为{1,...,Md},其中ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="310"/>如果X=1,则确定所述当前编码符号的输入符号集为{1,...,n},其中ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="254"/>在所述当前编码符号的度数d>L时,确定所述当前编码符号的输入符号集为{1,...,n},其中ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="252"/>从确定的所述输入符号集中随机选取d个不同的输入符号,并对所述d个不同的输入符号进行异或运算,生成一个编码符号;该装置还包括:优先级LT解码器、数据分流器和预编码解码器,其中,所述优先级LT解码器,用于对收到的编码数据包进行解码,得到具有不等差错保护功能的输出数据,并将所述输出数据送入数据分流器;所述数据分流器,用于根据层号将所述输出数据分为各个不同的编码层,并将每个编码层分别送入对应的预编码解码器;所述预编码解码器,用于对送入的编码层进行预编码解码,恢复为信息层。
9.根据权利要求8所述喷泉码的编解码装置,其特征在于,该装置进一步包括:数据整合器,相应的,所述预编码编码器进一步用于,为每个编码层分别设定一个优先级系数α,层号越低的编码层对应的α越大,层号越高的编码层对应的α越小;将所述各个编码层送入数据整合器;所述数据整合器,用于对所述编码层按α从大到小的顺序进行重新排序后送入优先级LT编码器。
10.根据权利要求8所述喷泉码的编解码装置,其特征在于,所述优先级LT解码器和预编码解码器采用BP译码算法。技术领域
本发明涉及网络传输中的差错控制技术领域,尤其涉及一种喷泉码的编解码方法和装置。
背景技术
对于异构网络或异构终端来说,在多媒体组播传输中,由于各个接收者具有不同的带宽及信道状况,因此通常采用分层编码技术,使得接收者能够通过接收越来越多的数据来改善重构的视频质量。接收者可能会随着网络状况性能的提升而体验到更好的视频质量,即使信道状况差的接收者也能观看到基本的重构视频。但是,即使对于信道状况较好的接收者来说,由于分层编码数据对传输中的丢包问题十分敏感,因此可能会严重降低重构视频的质量,例如:在分层编码数据传输过程中,低层数据包的丢失可能导致严重的误码扩散。从而,分层视频编码都会依靠视频服务器端的前向纠错(FEC,Forwardxa0ErrorCorrection)技术来完善对分层信源输出比特流的保护,以增强其鲁棒性。近年来,喷泉编码作为一种非固定码率的分组级信道编码已成为研究热点。其编译码算法复杂度很低,喷泉码的编码器如同喷泉一样源源不断地紧挨原始数据编码发送,无需反馈重传;用户只需接收到足够数量的编码数据即可恢复发送端的原始数据,而与编码包的接收顺序无关。在这个过程中,发送端无需考虑异质用户的信道特性及接入时刻、断续传输等具体应用方式的影响。因此,喷泉码特别适用于分布式网络存储、可靠数据广播/多播、无线协作与中继等应用环境中。非固定码率是喷泉码的一个重要特性,它使得发送端可以灵活地决定发送数据的长度,从而充分利用信道容量。但在实时视频流传输等有严格延时要求的应用中,发送端只能以相对固定的码率进行发送。事实上,对于每个原始数据块来说,编码端只能生成有限数量的编码符号,然后对下一个原始数据块进行编码。当信道质量很差,丢包情况严重时,许多接收者不能收到足够的编码符号进行完全解码,接收端的译码性能就会受到很大的影响。此外,采用分层编码技术就是为了满足不同用户的需要,因此并不要求每个接收者都能恢复全部的原始数据块。对于实时分层视频流,现有的喷泉多播方案主要存在以下问题:1、发送的编码符号数目有限;对于带宽有限或者信道状况很差的接收者来说,如果有很少一部分编码数据没有接收到,则会由于喷泉码的雪崩解码效应,迭代译码器只能重构所传输视频块的一小部分,从而无法保证视频的基本播放质量。2、现有的标准喷泉编码是一种基于平等差错保护机制的编码方式,然而分层视频传输由于其分层比特流数据的重要性不同,需要一种基于不等差错保护机制的FEC技术,因此现有的标准喷泉编码无法满足分层视频传输的需要。
发明内容
有鉴于此,本发明的主要目的在于提供一种喷泉码的编解码方法和装置,以实现在分层组播环境中高效、可靠的视频传输。为达到上述目的,本发明的技术方案是这样实现的:本发明提供了一种喷泉码的编码方法,该方法包括:将原始数据块按优先级从高到低的顺序分为不同的信息层;对每个信息层分别独立的进行相同码率的预编码后得到编码层,并将各个编码层进行级联后送入优先级LT编码器;所述优先级LT编码器在LT编码过程中,根据调整参数动态调整每个编码符号的输入符号集的大小,控制不同优先级数据的不等保护程度。所述将各个编码层进行级联后送入优先级LT编码器,具体为:为每个编码层分别设定一个优先级系数α,层号越低的编码层对应的α越大,层号越高的编码层对应的α越小;将所述各个编码层送入数据整合器,按α从大到小的顺序进行重新排序后送入优先级LT编码器。所述在LT编码过程中根据调整参数动态调整每个编码符号的输入符号集的大小,控制不同优先级数据的不等保护程度,具体为:根据度分布函数为当前编码符号随机生成一个度d;如果所述当前编码符号的度dntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="350"/>并产生一个服从[0,1]均匀分布的随机数r,若r满足0i表示第i层编码层的优先级系数,m′i表示第i层编码层的长度;如果X=0,则确定所述当前编码符号的输入符号集为{1,...,Md},其中ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="282"/>如果X=1,则确定所述当前编码符号的输入符号集为{1,...,n},其中ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="240"/>如果所述当前编码符号的度数d>L,则确定所述当前编码符号的输入符号集为{1,...,n},其中ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="242"/>从确定的所述输入符号集中随机选取d个不同的输入符号,并对所述d个不同的输入符号进行异或运算,生成一个编码符号。本发明还提供了一种喷泉码的解码方法,该方法包括:将收到的编码数据包送入优先级LT解码器进行解码,得到具有不等差错保护功能的输出数据,并将所述输出数据送入数据分流器;所述数据分流器根据层号将所述输出数据分为各个不同的编码层;将每个编码层分别送入对应的预编码解码器,经过预编码解码后,恢复为各个信息层。所述优先级LT解码器和预编码解码器采用置信传播(BP)译码算法。本发明还提供了一种喷泉码的编码装置,该装置包括:分层模块、预编码编码器和优先级LT编码器,其中,所述分层模块,用于将原始数据块按优先级从高到低的顺序分为不同的信息层;所述预编码编码器,用于对每个信息层分别独立的进行相同码率的预编码后得到编码层,并将各个编码层进行级联后送入优先级LT编码器;所述优先级LT编码器,用于在LT编码过程中,根据调整参数动态调整每个编码符号的输入符号集的大小,控制不同优先级数据的不等保护程度。该装置进一步包括:数据整合器,相应的,所述预编码编码器进一步用于,为每个编码层分别设定一个优先级系数α,层号越低的编码层对应的α越大,层号越高的编码层对应的α越小;将所述各个编码层送入数据整合器;所述数据整合器,用于对所述编码层按α从大到小的顺序进行重新排序后送入优先级LT编码器。所述优先级LT编码器进一步用于,根据度分布函数为当前编码符号随机生成一个度d;在所述当前编码符号的度dntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="348"/>并产生一个服从[0,1]均匀分布的随机数r,若r满足0i表示第i层编码层的优先级系数,m′i表示第i层编码层的长度;如果X=0,则确定所述当前编码符号的输入符号集为{1,...,Md},其中ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="285"/>如果X=1,则确定所述当前编码符号的输入符号集为{1,...,n},其中ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="241"/>在所述当前编码符号的度数d>L时,确定所述当前编码符号的输入符号集为{1,...,n},其中ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="242"/>从确定的所述输入符号集中随机选取d个不同的输入符号,并对所述d个不同的输入符号进行异或运算,生成一个编码符号。本发明还提供了一种喷泉码的解码装置,该装置包括:优先级LT解码器、数据分流器和预编码解码器,其中,所述优先级LT解码器,用于对收到的编码数据包进行解码,得到具有不等差错保护功能的输出数据,并将所述输出数据送入数据分流器;所述数据分流器,用于根据层号将所述输出数据分为各个不同的编码层,并将每个编码层分别送入对应的预编码解码器;所述预编码解码器,用于对送入的编码层进行预编码解码,恢复为信息层。所述优先级LT解码器和预编码解码器采用BP译码算法。本发明所提供的一种喷泉码的编解码方法和装置,通过将多个预编码器与一个优先级LT编码器相结合,提出了一种具有不等差错保护功能的喷泉码结构;优先级LT编码器的输出构成一个具有不等差错保护功能的编码块,其中,高优先级的层包含更多的信息,而低优先级的层包含相对较少的信息。通过对不同优先级的数据给予不同程度的保护,系统具有适应复杂多变的信道状况的能力,可以在分层组播环境中实现高效、可靠的视频传输。另外,本发明通过对视频数据进行分层编码并依靠喷泉码对低层数据进行重点保护之后,尽管在信道恶劣的情况下会丢失很多高层数据,但携带最基本信息的底层数据被保留了下来,从而用户可以保证最基本视频观看质量,通信的有效性得到了极大的提高。与标准的基于等差错保护的喷泉码相比,本发明提出的具有不等差错保护功能的喷泉码,在保持喷泉码总体译码性能稳定的基础上,大大减小了高优先级数据的恢复时间,且将对低优先级数据恢复时间的影响减小到最低程度。将本方法应用到分层多播环境中,对于信道状况很差的接收者来说,当接收端接收不到足够的编码数据以成功译码时,也能以更短的时间恢复出大部分的高优先级数据,保证基本的恢复效果。
附图说明
图1为本发明实施例中喷泉码的编码示意图;图2为本发明实施例中喷泉码的解码示意图;图3为本发明实施例中服务器实现喷泉码编码过程的示意图;图4为本发明实施例中客户端实现喷泉码解码过程的示意图。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。为实现在分层组播环境中高效、可靠的视频传输,本发明提供的一种喷泉码的编解码方法,包括编码和解码两个部分。且本发明针对的是经过分层编码的视频信源,对于视频数据来说,分层编码的方法有很多种,例如:时域可分级、空域可分级、质量可分级等等。在发送端实现的编码方法包括:A、将原始数据块按优先级从高到低的顺序分为不同的信息层。B、对每个信息层分别独立的进行相同码率的预编码后得到编码层,并将各个编码层进行级联后送入优先级LT编码器。具体的,为每个编码层分别设定一个优先级系数α,层号越低的编码层对应的α越大,层号越高的编码层对应的α越小;将各个编码层送入数据整合器,按α从大到小的顺序进行重新排序后送入优先级LT编码器。其中,所述层号是在步骤A中进行信息层划分时,为每个不同的信息层分配的,原始数据的优先级越高,其所在信息层的层号就越高;原始数据的优先级越低,其所在信息层的层号就越低。C、优先级LT编码器在LT编码过程中,根据调整参数动态调整每个编码符号的输入符号集的大小,以控制不同优先级数据的不等保护程度。下面结合图1所示的喷泉码编码示意图,对上述编码方法进一步详细说明。该编码方法主要包括以下步骤:步骤1、假设原始数据块表示为s1,s2,...,sk,将原始数据块按优先级从高到低的顺序分成L(L≤k)个信息层,每个信息层的输入符号总数分别为m1,m2,...,mL,其中,ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="243"/>步骤2、对每个信息层分别独立的进行相同码率的预编码后,由信息层变为编码层,每个编码层的长度分别为m′1,m′2,...,m′L,其中m′i=mi/(k/n),mi为第i层信息层的输入符号总数,m′i表示第i层编码层的长度,1≤i≤L,n为预编码输出序列的总长度,且ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="253"/>步骤3、为每个编码层分别设定一个优先级系数α,层号越低的编码层,其优先级系数α越大;层号越高的编码层,其优先级系数α越小。这样使得低层数据具有较高的优先级,而高层数据则具有较低的优先级。其中α1≥α2≥...≥αL,且0<α<1。步骤4、将各个编码层送入数据整合器,经重新排序后,送入优先级LT(LubyTransform)编码器,在LT编码过程中,根据调整参数动态调整每个编码符号的输入符号集的大小,从而控制不同优先级数据的不等保护程度。其中,LT编码过程具体包括:4.1、根据度分布函数为当前编码符号随机生成一个度d。4.2、如果当前编码符号的度dntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="349"/>并产生一个服从[0,1]均匀分布的随机数r,若r满足0i表示第i层编码层的优先级系数,m′i表示第i层编码层的长度,*表示相乘。4.3、如果X=0,则确定当前编码符号的输入符号集为前d层数据,即{1,...,Md},其中ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="290"/>如果X=1,则确定当前编码符号的输入符号集为所有数据,即{1,...,n},其中ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="245"/>4.4、如果当前编码符号的度d>L,则确定当前编码符号的输入符号集为{1,...,n},其中ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="248"/>4.5、从输入符号集中随机选取d个不同的输入符号,并对这d个不同的输入符号进行异或运算,生成一个编码符号。需要说明的是,上述发送端的编码过程中,优先级系数α的设置只要满足α1≥α2≥...≥αL,且α∈(0,1)都是可行的。优先级LT码所采用的度分布函数为Shokrollahi在标准Raptor码中所采用的常数平均度分布函数,即Ω=0.007969x+0.493570x2+0.166220x3+0.0726x4+0.082558x5+0.056058x8+0.037229x9+0.055590x19+0.025023x64+0.003135x66这可以极大地简化优先级LT码编译码的复杂度,使其具有线性编译码时间,但却同时存在着严重的错误平层效应(所谓错误平层是指误码率随信噪比的增加而下降减速甚至不再下降)。那么为了消除LT码错误平层带来的影响,更好的保证数据的传输质量,本发明在优先级LT码之前增加了预编码过程,且预编码采用的编码方案为高码率的LDGMxa0Triangle或LDGMxa0Staris,这两种低密度生成器矩阵(LDGM,Lowxa0Densityxa0Generatorxa0Matrix)编码方案皆为系统码,具有线性的编译码复杂度。对应上述喷泉码的编码方法,本发明还提供了一种应用于发送端的编码装置,包括:分层模块、预编码编码器和优先级LT编码器。其中,分层模块,用于将原始数据块按优先级从高到低的顺序分为不同的信息层。预编码编码器,用于对每个信息层分别独立的进行相同码率的预编码后得到编码层,并将各个编码层进行级联后送入优先级LT编码器。优先级LT编码器,用于在LT编码过程中,根据调整参数动态调整每个编码符号的输入符号集的大小,控制不同优先级数据的不等保护程度。较佳的,该装置还可以包括数据整合器。那么相应的,预编码编码器进一步用于,为每个编码层分别设定一个优先级系数α,层号越低的编码层对应的α越大,层号越高的编码层对应的α越小;将各个编码层送入数据整合器。数据整合器,用于对编码层按α从大到小的顺序进行重新排序后送入优先级LT编码器。如图2所示,喷泉码的解码方法在接收端是通过以下步骤实现的:步骤1、将收到的编码数据包送入优先级LT解码器进行解码,得到具有不等差错保护功能的输出数据。步骤2、将优先级LT解码器的输出数据送入数据分流器,数据分流器根据各输出数据的层号分为L个编码层。步骤3、将每个编码层分别送入对应的预编码解码器,L个编码层经过预编码解码器后,由编码层恢复为信息层,进而恢复出原始数据块。上述接收端预编码解码器与优先级LT解码器均采用置信传播(BP,BeliefPropagation)译码算法。对应上述喷泉码的解码方法,本发明还提供了一种应用于接收端的解码装置,包括:优先级LT解码器、数据分流器和预编码解码器。其中,优先级LT解码器,用于对收到的编码数据包进行解码,得到具有不等差错保护功能的输出数据,并将输出数据送入数据分流器。数据分流器,用于根据层号将输出数据分为各个不同的编码层,并将每个编码层分别送入对应的预编码解码器。预编码解码器,用于对送入的编码层进行预编码解码,恢复为信息层。综上所述,本发明的喷泉码编解码方法和装置,通过将多个预编码器与一个优先级LT编码器相结合,提出了一种具有不等差错保护功能的喷泉码结构;优先级LT编码器的输出构成一个具有不等差错保护功能的编码块,其中,高优先级的层包含更多的信息,而低优先级的层包含相对较少的信息。通过对不同优先级的数据给予不同程度的保护,系统具有适应复杂多变的信道状况的能力,可以在分层组播环境中实现高效、可靠的视频传输。另外,本发明通过对视频数据进行分层编码并依靠喷泉码对低层数据进行重点保护之后,尽管在信道恶劣的情况下会丢失很多高层数据,但携带最基本信息的底层数据被保留了下来,从而用户可以保证最基本视频观看质量,通信的有效性得到了极大的提高。与标准的基于等差错保护的喷泉码相比,本发明提出的具有不等差错保护功能的喷泉码,在保持喷泉码总体译码性能稳定的基础上,大大减小了高优先级数据的恢复时间,且将对低优先级数据恢复时间的影响减小到最低程度。将本方法应用到分层多播环境中,对于信道状况很差的接收者来说,当接收端接收不到足够的编码数据以成功译码时,也能以更短的时间恢复出大部分的高优先级数据,保证基本的恢复效果。上述编码方法的一种实际应用,如图3所示,在服务器端,原始视频序列经过H.264/SVC编码器后,分为一个基本层和多个增强层,根据层号、数据长度、总的层数等分层编码信息分别提取出每层码流,再将每层码流分别进行对应的LDGM编码过程;之后将每个LDGM编码器输出组合成一段码流,然后开始优先级LT编码过程;最后在优先级LT编码器输出的编码数据包的包头加入包括数据块编号、层号以及编码种子、编码包序列号等在内的信息,通过丢包网络信道发送给不同的客户端。上述解码方法的一种实际应用,如图4所示,在客户端,每个接收者收到编码数据包后,开始执行优先级LT解码过程,并根据相应的包头参数,从优先级LT解码器的输出码流中提取出相应的每层码流;然后每层码流分别开始对应的LDGM解码过程,之后将每个LDGM解码器的输出组合成一段码流,再将组合后的码流送入H.264/SVC解码器恢复出原始视频序列。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。